﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ParsecParser;
using System.Xml.Linq;
using System.IO;
using System.Deployment.Application;

namespace ParsecClient.Classes
{   
    [Serializable]
    public class CharacterSettings
    {
        public string CharacterName { get; set; }
        public bool ShowStatPopOut {get;set;}
        public bool ShowRaidDpsPopOut { get; set; }
        public bool ShowRaidHpsPopOut { get; set; }
        public bool ShowRaidTpsPopOut { get; set; }
        public bool ShowPvpStatsPopOut { get; set; }
        public bool ShowTimerPopOut { get; set; }
        public bool ShowDpsMeterPopOut { get; set; }
        public double StatPopOutWidth { get; set; }
        public double StatPopOutTop { get; set; }
        public double StatPopOutLeft { get; set; }
        public double StatPopOutOpacity { get; set; }
        public double RaidDpsPopOutWidth { get; set; }
        public double RaidDpsPopOutTop { get; set; }
        public double RaidDpsPopOutLeft { get; set; }
        public double RaidDpsPopOutOpacity { get; set; }
        public double RaidHpsPopOutWidth { get; set; }
        public double RaidHpsPopOutTop { get; set; }
        public double RaidHpsPopOutLeft { get; set; }
        public double RaidHpsPopOutOpacity { get; set; }
        public double RaidTpsPopOutWidth { get; set; }
        public double RaidTpsPopOutTop { get; set; }
        public double RaidTpsPopOutLeft { get; set; }
        public double RaidTpsPopOutOpacity { get; set; }
        public bool RaidTpsTankMode { get; set; }
        public double PvpStatsPopOutWidth { get; set; }
        public double PvpStatsPopOutTop { get; set; }
        public double PvpStatsPopOutLeft { get; set; }
        public double PvpStatsPopOutOpacity { get; set; }
        public double TimerPopOutWidth { get; set; }
        public double TimerPopOutTop { get; set; }
        public double TimerPopOutLeft { get; set; }
        public double TimerPopOutOpacity { get; set; }
        public double DpsMeterPopOutWidth { get; set; }
        public double DpsMeterPopOutTop { get; set; }
        public double DpsMeterPopOutLeft { get; set; }
        public double DpsMeterPopOutOpacity { get; set; }
        public string RaidDetailsSortKey { get; set; }
        public int DpsMeterViewMode { get; set; }
        public List<string> EnabledTimers { get; set; }
        public double AbsorbShieldValue { get; set; }
        public bool UseBasicDpsView { get; set; }
        public CharacterSettings()
        {
            TimerPopOutOpacity = .8;
            PvpStatsPopOutOpacity =.8;
            RaidTpsPopOutOpacity = .8;
            RaidHpsPopOutOpacity =.8;
            RaidDpsPopOutOpacity = .8;
            StatPopOutOpacity = .8;
            DpsMeterPopOutOpacity = .8;
            StatPopOutWidth = 250;
            RaidDpsPopOutWidth = 250;
            RaidHpsPopOutWidth = 250;
            RaidTpsPopOutWidth = 250;
            PvpStatsPopOutWidth = 250;
            TimerPopOutWidth = 250;
            DpsMeterPopOutWidth = 250;
            DpsMeterViewMode = 0;
            AbsorbShieldValue = 0.0;
            RaidTpsTankMode = true;
            EnabledTimers = new List<string>();
            UseBasicDpsView = false;
        }
    }
}
